define(function(require, exports, module) {
	var $ = require('$');
	var formcc = require('form');
	var nav = require("bootstrap_nav");
	var bootbox = require("bootbox");
	var store = require("store");
	var loader = require("./loader/loader");
	require("bootstrap-datetimepicker.min.css");
	require("bootstrap_datetimepicker");
	require('select2.css');
	require('select2');

	exports.init = function(divId) {
		new formcc({
			attrs : {
				title : "新建规则",
				spansize : 'span12',
				id : "infocontrol",
				items : [ {
					isText : true,
					label : "信控产品",
					id : 'abilityType',
					name : 'abilityType',
					type : "text",
					style : "width:50%",
					readonly : false,
					validations : {
						required : true,
					}
				}, {
					isText : true,
					label : "应用标识",
					id : 'appKey',
					name : 'appKey',
					type : "text",
					style : "width:50%"
				}, {
					isText : true,
					label : "单次最大发送量",
					id : 'maxSendCount',
					name : 'maxSendCount',
					type : "text",
					style : "width:50%",
					readonly : false,
					validations : {
						required : true,
					}
				}, {
					isText : true,
					label : "显号报备情况",
					id : 'displaynumRecord',
					name : 'displaynumRecord',
					type : "text",
					style : "width:50%",
					validations : {
						required : true,
					}
				}, {
					isText : true,
					label : "开始时间",
					id : 'startTime',
					name : 'startTime',
					placeholder : "请输入规则监控的开始时间，格式为4位数字，如0830(8点30分)",
					type : "text",
					style : "width:50%",
					validations : {
						required : true,
					}
				}, {
					isText : true,
					label : "截止时间",
					id : 'endTime',
					name : 'endTime',
					placeholder : "请输入规则监控的截止时间，格式为4位数字，如1730(17点30分)",
					type : "text",
					style : "width:50%",
					validations : {
						required : true,
					}
				}, {
					isText : true,
					label : "审核手机号",
					id : 'checkNumbers',
					name : 'checkNumbers',
					placeholder : "多个手机号之间用逗号(,)分隔",
					type : "text",
					style : "width:50%",
					validations : {
						required : true,
					}
				}, {
					isText : true,
					label : "审核周期(分钟)",
					id : 'checkPeriod',
					name : 'checkPeriod',
					type : "text",
					style : "width:50%",
					validations : {
						required : true,
					}
				} ],
				buttons : [ {
					text : "保存",
					id : "btn_save",
					type : "submit",
					style : "btn btn-contrast",
					backgroud : "btn-contrast"
				}, {
					text : "取消",
					id : "btn_cancel",
					style : "btn",
					type : "button"
				} ]

			},
			renderTo : divId,
			afterRender : function() {
				// 状态
				$("#abilityType").select2({
					allowClear : true,
					multiple : false,
					type : "text",
					style : "width:50%",
					data : [ {
						id : 'VoiceNotice3',
						text : "IMS文字语音通知"
					}, {
						id : 'AudeoSend',
						text : "IMS录音语音通知"
					}, {
						id : 'RongLianVoice',
						text : "容联文字语音通知"
					}, {
						id : 'RongLianAudeo',
						text : "容联录音语音通知"
					}, {
						id : 'TianYiVoice',
						text : "天亿文字语音通知"
					}, {
						id : 'TianYiAudeo',
						text : "天亿录音语音通知"
					} ]
				});
				$.ajax({
					type : "POST",
					dataType : "json",
					url : "/infocontrol/queryCheckers.do",
					async : true,
					success : function(data) {
						if (data.flag === '000000') {
							$("#checkNumbers").val(data.data);
						}
					},
					error : function(data) {
						bootbox.alertTimeout('初始化核查号码数据失败！');
					}
				});
				// $.ajax(
				// {
				// type : "POST",
				// dataType : "json",
				// url : "/appExtend/getAppName.do",
				// async : true,
				// success : function(data)
				// {
				// $("#appKey").select2({
				// allowClear: true,
				// data: [{id:'-1',text:'全部'}].concat(data)
				// });
				// },
				// error : function(data)
				// {
				// bootbox.alertTimeout('初始化全部应用数据失败！');
				// }
				// });
				// 类型
				$("#displaynumRecord").select2({
					allowClear : true,
					multiple : false,
					type : "text",
					style : "width:50%",
					data : [ {
						id : 'yes',
						text : "有报备"
					}, {
						id : 'no',
						text : "无报备"
					}, {
						id : 'all',
						text : "全部"
					} ]
				});
				var theme = require('bootstrap_theme');
				theme.setValidateForm($("#infocontrol"), saveAction);

				$('#btn_cancel').on('click', function() {
					nav.toPageView("admin/infocontrolindex.html");
				});
			}
		});
	};

	/**
	 * 判断输入的是否为正整数
	 */
	function isPositiveInteger(number) {
		if (isNaN(number) || number.indexOf('.') > 0 || parseInt(number) <= 0) {
			return false;
		}
		return true;
	}

	// 保存
	var saveAction = function() {
		var formdata = {
			appKey : $("#appKey").val() || -1,
			maxSendCount : $("#maxSendCount").val(),
			abilityType : $("#abilityType").val(),
			displaynumRecord : $("#displaynumRecord").val(),
			startTime : $("#startTime").val(),
			endTime : $("#endTime").val(),
			checkNumbers : $("#checkNumbers").val(),
			checkPeriod : $("#checkPeriod").val()
		};
		if (formdata.startTime >= formdata.endTime) {
			bootbox.alert("监控的截止时间要大于开始时间");
			return;
		}
		var check = isPositiveInteger(formdata.maxSendCount);
		if (!check) {
			bootbox.alert("最大发送量不是正整数！");
			return;
		}
		check = isPositiveInteger(formdata.checkPeriod);
		if (!check) {
			bootbox.alert("审核周期不是正整数！");
			return;
		}
		loader.loading("正在创建规则，请稍等……");
		$.ajax({
			url : "/infocontrol/createInfoControlRule.do",
			dataType : "json",
			data : "data=" + JSON.stringify(formdata),
			type : "POST",
			success : function(json) {
				if (json.flag == '000000') {
					nav.toPageView("admin/infocontrolindex.html");
					loader.noloading();
				} else {
					oauth2Relogin();
				}
			},
			error : function(s) {
				loader.noloading();
				bootbox.alertTimeout("网络请求失败，请重试！");
			}
		});

	};
});
